﻿#pragma once
#include <string>
#include <time.h>
// 行情时间段的修正
class MarketTimeAmendment
{
private:
	MarketTimeAmendment();
	~MarketTimeAmendment();

public:
	static MarketTimeAmendment &Instance();
	// 设置工作系统时间
	void SetWorkTime(time_t pworktime);

	// 返回修正的行情时间，只上期所/能源中心(SHFE/INE)交易日为正确的交易时间
	time_t GetRealTime(char pDay[9], char pTime[9]);
	// 判断时间是否在当前行情段内
	//bool IsInCurSegment(char pTime[9]);
	// 判断时间是否在行情时间段内
	bool IsInCurSegment(time_t pTime);
	// 返回今日的字符串
	const std::string &GetTodayStr() { return m_todayStr; }

private:
	// 行情时间段的起始点
	time_t m_segmentBegin;
	// 行情时间段的结束时间
	time_t m_segmengEnd;
	// 行情时间所属日期
	std::string m_todayStr;
	// 系统时间（参考上期和能源所的）
	time_t m_systemTime;
	tm m_systemDay;
};

